1. Field of the Invention
The present invention relates to an information processing device, an information processing method, and an information processing program, and more particularly to an information processing device, an information processing method, and an information processing program, capable of suppressing an increase in unnecessary delay and of suppressing errors from being propagated to subsequent data.
2. Description of the Related Art
In recent years, there has been increasing demand for the transmission of multimedia data with a short delay via the Internet or other transmission paths. For example, there is a so-called remote surgery application in which medical bases of two remote locations are connected to each other via the Internet or the like, the surgical situation is transmitted as moving images from one remote surgery room, and, in the other base, surgical instruments are operated while the images are viewed. In such an application, it is necessary to transmit moving images with delay equal to or less than several frame intervals.
In order to handle this demand, there has been proposed a method in which compression encoding is performed for several lines of each picture of the moving images by a wavelet transform as one compression encoding block (for example, refer to JP-A-2007-311924 (Patent Document 1)). In the case of the method, an encoding device can start the compression encoding before all of the data in a picture is input. In addition, when the compressed data is transmitted via a network and is decoded by a reception side, a decoding device can start a decoding process before all of the data in the picture is received. Therefore, if network propagation delay is sufficiently low, it is possible to transmit moving images in real-time with delay equal to or less than several frame intervals.
As an Internet technique suitable for real-time transmission, there is an RTP (Real-time Transport Protocol) defined in RFC (Request for Comments) 3550 of IETF (Internet Engineering Task Force). In the data transmission by the RTP, a time stamp is added to a packet as time information, and using this, a temporal relationship between the transmission side and the reception side is ascertained. In this way, synchronized reproduction can be performed without being influenced by delay variation (jitter) in the packet transmission or the like.
However, the RTP does not guarantee real-time data transmission. Priority of packet delivery, setting, management and the like are not included within the categories of transport service provided by the RTP. Therefore, there is a possibility that delivery delay or packet loss occurs in the RTP packets in the same manner as other protocol packets.
However, even if more or less data loss occurs, merely quality is lowered, and thus the reception side can reproduce data using only arriving packets within an expected time. In addition, packets delivered with a delay or packets in which errors occur are discarded as they are in the reception side.
In the case of the transmission via the network in this way, although high quality data is delivered, there is a problem in that the reception side does not sufficiently reproduce the data due to packet loss or errors. Generally, it is said that the probability of error occurrence is 10−5 in a wired section and 10−3 or more in a wireless section. Thus, the use of the RTP in such a state does not enable sufficient quality of the delivered media to be maintained.
As methods of using other protocols, for example, there may be a method of using a TCP (Transmission Control Protocol) having high reliability in the transmission of data. However, the TCP is reasonably resilient to errors, but is not suitable for a short delay data transmission since it has low throughput and long delays. For example, even if the reception side makes a request for retransmission of packets when errors occur, there is a problem in that arrival of the retransmitted packets is performed out of line with the reproduction time.
Therefore, as a method of improving reliability in the data transmission using the RTP, there is a forward error correction code method, a so-called FEC (Forward Error Correction) in which the reliability can be improved by redundant encoding is performed for data (for example, refer to Alexander E. Mohr, Student Member, IEEE, Eve A. Riskin, Senior Member, IEEE, and Richard E. Ladner, Member, IEEE, “Unequal Loss Protection: Graceful Degradation of Image Quality over Packet Erasure Channels Through Forward Error Correction” IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 18, No. 6, pp 819-828, June 2000 (Non-Patent Document 1)). In the FEC method, a plurality of packets are designated as one FEC block, and the redundant encoding is performed using an error correction code such as the Reed-Solomon (RS) code or the like. For example, if (n, k) RS code is used and the number of original packets is k, it is possible to generate (n−k) redundant packets (where n>k). In this case, a transmission device transmits a total of n packets, thereby a reception device receives k packets of the n packets, and thus it is possible to recover k original packets through the RS decoding process. For example, in Non-Patent Document 1, the redundant encoding method according to priority is disclosed.
When the redundant encoding is performed using the FEC method, the recovery performance for the packet loss depends on the FEC block size and the number of redundant packets (n−k). Particularly, the recovery performance for loss in consecutive packets on a data series, which occurs in the course of the data transmission via a network, that is, a so-called burst packet loss, has a close relation to the FEC block size. Typically, as the FEC block size is increased, the recovery performance for the burst packet loss is improved.